package utilities;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * Utilitaire permettant d'ecrire et de lire un fichier
 * 
 * @author Dapy, Dubie
 */
public class FileUtility 
{
	/**
	 * Cette methode ecrit le contenu passe en parametre dans le fichier 
	 * 
	 * @param texte le contenu a ecrire
	 * @param fileName le nom du fichier de destination
	 */
	public static void writeFile(String texte, String fileName)
	{
		BufferedWriter output = null;
		try
		{
			FileWriter fw = new FileWriter(fileName, false);
			output = new BufferedWriter(fw);
			
			output.write(texte);
			output.flush();
			output.close();
		}
		catch(IOException e)
		{
			System.err.print("Impossible d'ecrire dans le fichier : " + e.getMessage());
		}
	}

	/**
	 * Lis un fichier et renvoie son contenu
	 * 
	 * @param fileName le fichier a lire
	 * @return le contenu du fichier
	 */
	public static String readFile(String fileName)
	{
		StringBuilder text = new StringBuilder();
		String ligne = "";
		String fichier = fileName;
		BufferedReader ficTexte;
		
		try 
		{
			ficTexte = new BufferedReader(new FileReader(new File(fichier)));
			// On parcours le fichier et on concatene 
			// chaque ligne dans le conteneur 'text'
			do 
			{
				ligne = ficTexte.readLine();
				if (ligne != null) 
				{
					text.append(ligne + System.getProperty("line.separator"));
				}
			} while (ligne != null);
		}
		catch (FileNotFoundException e) 
		{
			System.err.println("Erreur : fichier non trouve "+e.getMessage());
		} 
		catch (IOException e) 
		{
			System.err.println("Erreur : impossible de lire le fichier "+e.getMessage());
		}
		return text.toString();
	}
}
